placesview: don't show mount for Computer row
authorGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>
Wed, 29 Jul 2015 22:37:19 +0000 (19:37 -0300)
committerGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>
Wed, 29 Jul 2015 22:39:03 +0000 (19:39 -0300)
The "Computer" row from places view is an abstract volume
that represents the root of the current partition. As such,
it cannot be mounted or unmounted.

Remove the related item on context menu for Computer row.

gtk/gtkplacesview.c

index e44867d5f309a9e9ae030f073aad5d15898c401e..bbeb6c271f0c934c7f2d376ac4a4a01afdda0333 100644 (file)
@@ -1289,9 +1289,11 @@ build_popup_menu (GtkPlacesView    *view,
   GtkPlacesViewPrivate *priv;
   GtkWidget *item;
   GMount *mount;
+  GFile *file;
 
   priv = gtk_places_view_get_instance_private (view);
   mount = gtk_places_view_row_get_mount (row);
+  file = gtk_places_view_row_get_file (row);
 
   priv->popup_menu = gtk_menu_new ();
   gtk_style_context_add_class (gtk_widget_get_style_context (priv->popup_menu),
@@ -1332,6 +1334,13 @@ build_popup_menu (GtkPlacesView    *view,
       gtk_menu_shell_append (GTK_MENU_SHELL (priv->popup_menu), item);
     }
 
+  /*
+   * The only item that contains a file up to now is the Computer
+   * item, which cannot be mounted or unmounted.
+   */
+  if (file)
+    return;
+
   /* Separator */
   item = gtk_separator_menu_item_new ();
   gtk_widget_show (item);